﻿using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Services;
using YaAppoint.Appointments.Pools;
using YaAppoint.ExamAppies;
using YaAppoint.Response;

namespace YaAppoint.Appointments
{
    [RemoteService(isEnabled:false)]
    public interface IAppointmentAppService:IApplicationService
    {
        /// <summary>
        ///  生成预约编号
        /// </summary>
        string GeneratorNumber();

        /// <summary>
        ///  申请项目预约状态改变回写his
        /// </summary>
        Task ApplyExamItemStatusChangeToHis(List<ApplyExamItemStatusChangeDto> dtos);

        /// <summary>
        /// 创建预约
        /// </summary>
        Task<AppointmentDto> CreateAppointment(List<ExamApplicationDto> applyItems, PoolDto poolDto,AppointmentStatus status);


        /// <summary>
        /// 获取打印信息
        /// </summary>
        /// <param name="applyNumber">申请单号，英文逗号隔开</param>
        /// <returns></returns>
        Task<BackJson> GetPrintData(string applyNumber);
    }
}
